Skip to content

OPCT-454: skip dependency waiter when no blocker plugin configured - #94

Merged
openshift-merge-bot[bot] merged 3 commits into
mainfrom
OPCT-454/fix-collector-blocked-by-upgrade
Aug 21, 2026
Merged

openshift-merge-bot[bot] merged 3 commits into
mainfrom
OPCT-454/fix-collector-blocked-by-upgrade

Conversation

@bshaw7

@bshaw7 bshaw7 commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • In upgrade mode, OPCT CLI sets PLUGIN_BLOCKED_BY to empty (conformance plugins skipped)
  • wait-updater ignored the --blocker flag and used hardcoded BlockerPlugins from NewPlugin()
  • Collector polled indefinitely for non-existent plugin 80 pod

Changes

  • wait-updater.go: early return when --blocker is empty
  • entrypoint-collector.sh: skip wait-updater call when PLUGIN_BLOCKED_BY is empty

Test plan

  • Build image, run opct run --mode upgrade on cluster
  • Verify collector starts artifact collection immediately (no polling loop)
  • Verify non-upgrade mode still waits for plugin 80 as before

🤖 Generated with Claude Code
EOF

  In upgrade mode, OPCT CLI sets PLUGIN_BLOCKED_BY to empty in the
  collector manifest template (plugins 10/20/80 are skipped). However,
  the wait-updater Go code ignores the --blocker flag and uses the
  hardcoded BlockerPlugins from NewPlugin(), causing the collector to
  poll indefinitely for a non-existent plugin 80 pod.

  Fix at two layers:
  - wait-updater.go: early return when --blocker is empty
  - entrypoint-collector.sh: skip wait-updater call when
    PLUGIN_BLOCKED_BY is empty
Co-Authored-By: bshaw7
@openshift-ci
openshift-ci Bot requested review from mtulio and rvanderp3 August 19, 2026 04:52
@bshaw7

bshaw7 commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator Author

/kind bug

@coderabbitai

coderabbitai Bot commented Aug 19, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 75f9197b-e635-4f04-95f4-4f5dd393abf8


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@openshift-ci openshift-ci Bot added the kind/bug Categorizes issue or PR as related to a bug. label Aug 19, 2026
bshaw7 and others added 2 commits August 19, 2026 11:00
NewPlugin() hardcodes BlockerPlugins in its switch statement, ignoring
the --blocker flag passed from PLUGIN_BLOCKED_BY env var. Override the
hardcoded value after plugin creation so the OPCT CLI template controls
which plugin the collector waits for in upgrade mode.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When wait-updater passes full plugin name like 05-openshift-cluster-upgrade,
PluginFullNameByName() didnt recognize it and returned -05-openshift-cluster-upgrade
(leading minus), breaking pod label lookup.

Fix: return alias directly when input already contains plugin ID prefix.
@bshaw7

bshaw7 commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator Author

Test 5 Validation -- Full end-to-end 4.20 to 4.21 upgrade (2026-08-19)

Cluster: bshaw2 (AWS, 4.20.34 to 4.21.28, stable-4.21 channel)
OPCT image: quay.io/rhn-support-bshaw/opct:latest (PR #232 -- skip conformance in upgrade mode)
Plugin image: quay.io/rhn-support-bshaw/plugin-artifacts-collector:latest (PR #94, commit e413762)

All three fixes validated

1. entrypoint-collector.sh skip when empty (19110c1):
Verified in earlier test (Test 1) -- collector started immediately without waiting when PLUGIN_BLOCKED_BY was empty.

2. wait-updater.go blocker override (51291f3):
Collector correctly overrides hardcoded BlockerPlugins with --blocker flag value:

99-openshift-artifacts-collector   running    0/0 (0 failures)   status=waiting-for=05-openshift-cluster-upgrade

3. PluginFullNameByName alias fix (e413762):
Pod lookup now finds the correct plugin pod. Previous bug returned "-05-openshift-cluster-upgrade" (leading minus), causing label mismatch and podPhase=TBD(pod) indefinite loop.

End-to-end result

Global Status: complete
JOB_NAME                           STATUS     RESULTS    PROGRESS                  MESSAGE
05-openshift-cluster-upgrade       complete   failed     34/34 (0 failures)        Total tests processed: 33 (32 pass / 1 failed)
99-openshift-artifacts-collector   complete   passed     0/0 (0 failures)          Total tests processed: 13 (13 pass / 0 failed)

Collector waited for plugin 05, detected completion, collected artifacts, passed all 13 checks.

@mtulio

mtulio commented Aug 21, 2026 •

Copy link
Copy Markdown
Contributor

Thanks for addressing the issues, @bshaw7 🎉

I've created some follow up issues identified from this massive change improving upgrade flow / fixing blocker issues:
OPCT-462
OPCT-463

Ready to go imo! 🚀
/lgtm
/approve

feel free to remove drop when you think it can be merged:
/hold

@openshift-ci openshift-ci Bot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. lgtm Indicates that a PR is ready to be merged. labels Aug 21, 2026
@openshift-ci

openshift-ci Bot commented Aug 21, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mtulio

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 21, 2026
@bshaw7

bshaw7 commented Aug 21, 2026

Copy link
Copy Markdown
Collaborator Author

/hold cancel

@openshift-ci openshift-ci Bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Aug 21, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit bcfad41 into main Aug 21, 2026
15 checks passed
openshift-merge-bot Bot pushed a commit that referenced this pull request Aug 25, 2026
Merge main into release-0.6 to include fixes for v0.6.7 release.

## Changes since v0.6.6
- OPCT-454: remove `--file` workaround for kube-conformance plugin (#93)
- OPCT-454: skip dependency waiter when no blocker plugin configured
(#94)
- OPCT-457: embed CA certificate inline in kubeconfig (#95)

Jira: https://redhat.atlassian.net/browse/OPCT-453

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Chai-bot <ship-help-github@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. kind/bug Categorizes issue or PR as related to a bug. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants